﻿using IRepositoryBll;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using RepositoryCommon;
using RepositoryEntity;
using RepositoryEntity.Extension;
using RepositorySystem.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace RepositorySystem.Controllers
{
    public class LoginController : Controller
    {
        //private IUserInfoBll _userInfoBll;

        //public LoginController(IUserInfoBll userInfoBll)
        //{
        //    _userInfoBll = userInfoBll;
        //}
        //public IActionResult LoginView()
        //{
           
        //    return View();
        //}
        //[HttpPost]
        //public IActionResult Login(string account, string passWord)
        //{
        //    CustomActionResult res = new CustomActionResult();
        //    //参数认证
        //    if (string.IsNullOrEmpty(account))
        //    {
        //        new ContentResult() { Content = "账号不能为空" };
        //        return Json(res);
        //    }
        //    else if (string.IsNullOrEmpty(passWord))
        //    {

        //        new ContentResult() { Content = "密码不能为空" };
        //        return Json(res);
        //    }
        //    //判断账户密码是否为空
        //    string md5 = MD5Help.md5(passWord);//MD5加密
        //    UserInfo userInfo = _userInfoBll.GetUserInfoByLogin(account, md5);
        //    if (userInfo == null)
        //    {
        //        res.Msg = "账户或密码错误";
        //        return Json(res);
        //    }
        //    else
        //    {
        //        res.IsSuccess = true;
        //        res.Status = 1;
        //        res.Msg = "登录成功";
        //        res.Data = new
        //        {
        //            UserName = userInfo.UserName
        //        };
        //        ////序列化用户对象
        //        string jsonUserInfo = JsonConvert.SerializeObject(userInfo);//SerializeObject:返回对象
        //        ////保存用户信息到session中
        //        HttpContext.Session.SetString("UserInfo", jsonUserInfo);
        //        return Json(res);

        //    }

        //}

        //退出登录
        //public IActionResult OutLogin()
        //{
        //    CustomActionResult res = new CustomActionResult();
        //    //删除当前sessionID
        //    HttpContext.Session.Remove("UserInfo");
        //    res.IsSuccess = true;
        //    res.Msg = "退出成功";
        //    res.Status = 1;
        //    return Json(res);
        //}

        //判断是否为超级管理员
        //public IActionResult IsAdmin()
        //{
        //    CustomActionResult res = new CustomActionResult();

        //    UserInfo userInfo = this.GetSessionUserInfo();
        //    if (userInfo != null)
        //    {
        //        if (userInfo.IsAdmin)
        //        {
        //            res.IsSuccess = true;
        //            res.Status = 1;
        //            res.Msg = "该账号为超级管理员";
        //        }
        //    }

        //    return Json(res);
        //}

        /// <summary>
        /// 修改密码页面
        /// </summary>
        /// <returns></returns>
        //public IActionResult EditPasswordView()
        //{
        //    return View();
        //}

        /// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="oldPassword"></param>
        /// <param name="newPassword"></param>
        /// <returns></returns>
        //public IActionResult EditPassword(string oldPassword, string newPassword)
        //{
        //    CustomActionResult res = new CustomActionResult();
        //    if (string.IsNullOrEmpty(oldPassword) || string.IsNullOrEmpty(newPassword))
        //    {
        //        res.Msg = "新、旧密码不能为空";
        //        return Json(res);
        //    }
        //    UserInfo userInfo = this.GetSessionUserInfo();
        //    if (userInfo == null)
        //    {
        //        res.Msg = "当前用户未获取";
        //        return Json(res);
        //    }

        //    //密码加密
        //    string oldPwdMD5 = MD5Help.md5(oldPassword);
        //    string newPwdMD5 = MD5Help.md5(newPassword);
        //    string msg = "";
        //    bool isSuccess = _userInfoBll.EditPassword(oldPwdMD5, newPwdMD5, userInfo, out msg);

        //    if (isSuccess)
        //    {
        //        res.Status = 1;
        //        res.IsSuccess = true;
        //        //删除当前登录用户的session
        //        HttpContext.Session.Remove("UserInfo");
        //    }

        //    res.Msg = msg;
        //    return Json(res);
        //}
    }
}
